//package com.advert.boot.config;
//
//import com.wechat.pay.java.core.Config;
//import com.wechat.pay.java.core.RSAAutoCertificateConfig;
//import jakarta.annotation.PostConstruct;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Component;
//
//import java.io.File;
//import java.net.URL;
//
///**
// * <p>
// * </P>
// *
// * @author liping
// * @create 2025-06-25 23:43
// */
//@Component("WechatPayConfig1")
//public class WechatPayConfig {
//
//    /**
//     * 应用ID
//     */
//    public static String appid;
//
//    /**
//     * 商户号
//     */
//    public static String merchantId;
//
//    /**
//     * 商户API私钥路径
//     */
//    public static String privateKeyPath;
//
//    /**
//     * 商户证书序列号
//     */
//    public static String merchantSerialNumber;
//
//    /**
//     * 商户APIV3密钥
//     */
//    public static String apiV3Key;
//
//    /**
//     * 通知地址（有效性：1. HTTPS；2. 不允许携带查询串。）
//     */
//    public static String notifyUrl;
//
//    /**
//     * 微信支付配置
//     */
//    public static Config config;
//
//    /**
//     * 订单支付超时时间/分钟
//     */
//    public static final Integer ORDER_PAY_TIME_OUT = 1440;
//
//
//    private WechatPayConfig() {}
//
//    @Value("${wechat.pay.appid}")
//    public void setAppid(String appid) {
//        WechatPayConfig.appid = appid;
//    }
//
//    @Value("${wechat.pay.merchantId}")
//    public void setMerchantId(String merchantId) {
//        WechatPayConfig.merchantId = merchantId;
//    }
//
//    @Value("${wechat.pay.privateKeyPath}")
//    public void setPrivateKeyPath(String privateKeyPath) {
//        String classPath = System.getProperty("java.class.path");
//        // 是否运行在开发环境
//        boolean isRunningFromIde = classPath.toLowerCase().contains("eclipse") || classPath.toLowerCase().contains("idea");
//        // 开发环境与部署jar包环境 不同获取私钥路径
//        if (isRunningFromIde){
//            ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
//            URL resourceUrl = classLoader.getResource("apiclient_key.pem");
//            File file = new File(resourceUrl.getFile());
//
//            WechatPayConfig.privateKeyPath = resourceUrl.getFile();  //getClass().getClassLoader().getResource("apiclient_key.pem").getPath();
////            WechatPayConfig.privateKeyPath = this.getClass().getResource("apiclient_key.pem").getPath();
//        }else {
//            WechatPayConfig.privateKeyPath = privateKeyPath;
//        }
//    }
//
//    @Value("${wechat.pay.merchantSerialNumber}")
//    public void setMerchantSerialNumber(String merchantSerialNumber) {
//        WechatPayConfig.merchantSerialNumber = merchantSerialNumber;
//    }
//
//    @Value("${wechat.pay.apiV3Key}")
//    public void setApiV3Key(String apiV3Key) {
//        WechatPayConfig.apiV3Key = apiV3Key;
//    }
//
//    @Value("${wechat.pay.notifyUrl}")
//    public void setNotifyUrl(String notifyUrl) {
//        WechatPayConfig.notifyUrl = notifyUrl;
//    }
//
//    @PostConstruct
//    public void initializeConfig() {
//        // 初始化微信配置
//        config = new RSAAutoCertificateConfig.Builder()
//                .merchantId(merchantId)
//                .privateKeyFromPath(privateKeyPath)
//                .merchantSerialNumber(merchantSerialNumber)
//                .apiV3Key(apiV3Key)
//                .build();
//    }
//
//}
